package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.CheckItem;
import com.itheima.pojo.Menu;

import java.util.LinkedHashSet;
import java.util.List;

/**
 * Author pengb
 * Time 2019/11/12 19:23
 * ClassName com.itheima.dao
 */
public interface MenuDao {

    /**
     * 通过roleId查询一级菜单
     * @param roleId
     * @return
     */
    LinkedHashSet<Menu> findMenusByroledId(Integer roleId);


    /**
     * 通过一级菜单id查询二级菜单
     * @param id
     * @return
     */
    List<Menu> findChildMenuByParentId(Integer id);
    /**
     * 添加
    * @param menu
    * @return void
    */
    void add(Menu menu);
    /**
     * 根据条件查询
    * @param queryString
    * @return com.github.pagehelper.Page<com.itheima.pojo.CheckItem>
    */
    Page<CheckItem> selectByCondition(String queryString);
    /**
     * 根据ID查找
    * @param id
    * @return com.itheima.pojo.Menu
    */
    Menu findById(Integer id);
    /**
     * 编辑
    * @param menu
    * @return void
    */
    void edit(Menu menu);
    /**
     * 查询全部
    * @param
    * @return java.util.List<com.itheima.pojo.Menu>
    */
    List<Menu> findAll();
    /**根据菜单id去查是否有角色关联
    * @param id
    * @return int
    */
    int findCountByMenuId(Integer id);
    /**
     * 根据菜单id去查是否有父菜单
    * @param id
    * @return int
    */
    int findparentMenuIdByMenuId(Integer id);
    /**
     * 根据id删除
    * @param id
    * @return void
    */
    void deleteById(Integer id);
}
